using System;

namespace Caramel.Entities
{
	[Serializable()]
	public abstract class NamedEntity<TID> : MutableEntity<TID>, INamedEntity<TID>
	{
		public NamedEntity()
		{
			this.IsActive = true;
		}

		#region INamedEntity<TID> Members

		public virtual string Name { get; set; }

		//public virtual string DisplayName { get; set; }

		//public virtual string Description { get; set; }

		public virtual bool IsActive { get; set; }

		#endregion

		public override string ToString()
		{
			return this.Name; // this.DisplayName ?? this.Name;
		}
	}
}
